﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Comun;

namespace Guada
{
    public partial class FrmAltaUsuario : Plantilla
    {
        public FrmAltaUsuario()
        {
            InitializeComponent();
        }

        private void FrmAltaUsuario_Load(object sender, EventArgs e)
        {
            try
            {
                FacProFacu.Usuario usuario = new FacProFacu.Usuario();
                Controles control = new Controles();
                control.CargarCBox(cmbTipoDeUsuario, usuario.GetPerfiles().Tables["PERFIL"], "IDPERFIL", "DESCRIPCION", Controles.ComboBoxLabel.SelectOne);
            }
            catch
            {
                MessageBox.Show("Se ha producido un Error", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void BtnCancelar_Click_1(object sender, EventArgs e)
        {
            this.Close();
        }

        private void BtnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                if (validarCampos())
                {
                    FacProFacu.Usuario usuario = new FacProFacu.Usuario();

                    int nuevoUsuario = usuario.GetUsuario(txtUsuario.Text).Tables["USUARIO"].Rows.Count;

                    if (nuevoUsuario == 0)
                    {
                        int alta = usuario.AltaUsuario(txtApellidoNombre.Text, txtPass.Text, Convert.ToInt16(cmbTipoDeUsuario.SelectedValue), txtUsuario.Text);

                        if (alta > 0)
                        {
                            MessageBox.Show(string.Format("Se ha realizado el alta del usuario: {0} con exito!", txtApellidoNombre.Text), "ALTA DE USUARIO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show(string.Format("El usuario: {0} ya esta dado de alta en el sistema. Modifique el usuario.", txtApellidoNombre.Text), "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
            }
            catch
            {
                MessageBox.Show("No se ha realizado el Alta de Usuario", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private bool validarCampos()
        {
            bool error = true;

            if (txtUsuario.Text.Length < 4)
            {
                MgrError.SetError(txtUsuario, "Error usuario");
                error = false;
            }

            if (cmbTipoDeUsuario.SelectedIndex == 0)
            {
                MgrError.SetError(cmbTipoDeUsuario, "Debe seleccionar un Tipo de Perfil");
                error = false;
            }

            if (txtPass.Text.Length > 4)
            {
                if (!txtPass.Text.Equals(txtPassII.Text))
                {
                    MgrError.SetError(txtPassII, "Password no coinciden");
                    error = false;
                }
            }
            else
            {
                MgrError.SetError(txtPass, "Error Password");
                error = false;
            }

            return error;
        }
    }
}
